﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using SIGERP_Negocio;
using SIGERP_Entidades;

namespace SIGERP_Presentacion
{
    public partial class frmDepartamentoAgregar : Form
    {
        private ErrorProvider ep = new ErrorProvider();

        public frmDepartamentoAgregar()
        {
            InitializeComponent();
        }

        public frmDepartamentoAgregar(String departamento)
        {
            InitializeComponent();
            txtNombre.Text = departamento;
        }

        private void frmPaisAgregar_Load(object sender, EventArgs e)
        {
            List<Area> areas = Areas.buscarAreasHabilitadas();
            foreach (Area a in areas)
            {
                cmbArea.Items.Add(a);
            }
            
            if(areas.Count>0) 
                cmbArea.SelectedIndex = 0;
            cmbArea.Width = Utilities.adjustWidth(cmbArea);
        }

        private void btnGuardar_Click(object sender, EventArgs e)
        {
            ep.Clear();

            if (txtNombre.Text.Equals(""))
            {
                ep.SetError(txtNombre, "Este campo es obligatorio");
                txtNombre.Focus();
                return;
            }

            try
            {
                if (((Area)cmbArea.SelectedItem).id <= 0)
                {
                    ep.SetError(cmbArea, "Debe elegir un área.");
                    cmbArea.Focus();
                    return;
                }
            }
            catch
            {
                ep.SetError(cmbArea, "Debe elegir un área.");
                cmbArea.Focus();
                return;
            }

            Departamento d = new Departamento();
            d.descripcion = txtNombre.Text.ToUpper();
            d.area=(Area)cmbArea.SelectedItem;
           
            if (Departamentos.verificarSiExiste(d))
            {
                MessageBox.Show("El Departamento ingresado ya existe", Text, MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2);
            }
            else
            {
                guardarDepartamento(d);
            }
                        
        }

        private void guardarDepartamento(Departamento dto)
        {

            Departamentos.nuevo(dto);
            Close();
        }

        private void btnCancelar_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void toolStripAyuda_Click(object sender, EventArgs e)
        {
            Utilities.mostrarAyuda(this, (this.GetType().ToString() + ".htm").Replace("SIGERP_Presentacion.", ""));
        }
    }
}
